package ar.com.vates.ejercicio1;

public class Circulo {
	
	private Punto centro;
	private int radio;

	public Circulo(){
		centro = new Punto();
		radio = (int)(10.0 * Math.random()) + 1;;
	}
	
	public Circulo(Punto p , int nradio){
		centro = p;
		radio = nradio;
	}
	
	public Circulo (int x,int y,int nradio){
		centro = new Punto(x, y);
		radio = nradio;
	}

	public Punto getCentro() {
		return centro;
	}

	public void setCentro(Punto centro) {
		this.centro = centro;
	}

	public int getRadio() {
		return radio;
	}

	public void setRadio(int radio) {
		this.radio = radio;
	}
	
	
	public double calcularDistanciaDesde(Punto p){
		//Math.abs calcula el valor absoluto, ya que la distancia no puede ser negativa
		double distancia = 0.0;
		int distanciaX = Math.abs((centro.getX()-p.getX()));
		int distanciaY = Math.abs((centro.getY()-p.getY()));
		
		double distanciaCuadrado = Math.pow(distanciaX, 2) + Math.pow(distanciaY, 2);
		distancia = Math.abs(Math.sqrt(distanciaCuadrado) - radio);
		
		return distancia;
	}
	
	public double calcularPerimetro(){
		double perimetro = 0.0;
		
		perimetro = 2 * Math.PI * radio;
		
		return perimetro;
	}
	
	public double calcularArea(){
		double area = 0.0;
		double radioCuadrado = Math.pow(radio, 2);
		
		area = Math.PI*radioCuadrado;
		
		return area;
	}
}
